﻿using System.Collections.Generic;
using TheVerge.Base.Platform;

namespace TheVerge.Base.Models {

	public class VMMain : AVM {

        public VMForums Forums { get; private set; }
        public VMMedia Media { get; private set; }
        public VMNews News { get; private set; }
        public VMSections Sections { get; private set; }

		public ArticleEntry ActiveArticle
		{
			get { return GetValue(() => ActiveArticle); }
			set { SetValue(value, () => ActiveArticle); }
		}

        public GalleryEntry ActiveGallery
        {
            get { return GetValue(() => ActiveGallery); }
            set { SetValue(value, () => ActiveGallery); }
        }

        public IPinnable ActivePinnable { get; set; }

		public VMMain(IAudioPlayer player) {
			Forums = new VMForums();
            News = new VMNews();
            Media = new VMMedia(player);
			Sections = new VMSections();

            ActivePinnable = News;
		}

		public VMEntries<ArticleEntry> Articles
		{
			get { return GetValue(() => Articles); }
			set { SetValue(value, () => Articles); }
		}
    }
}